Delta 10/2024

Twierdzenie Tutte’a i twierdzenie Halla

W tym miesiącu w Kąciku Początkującego Olimpijczyka (patrz ostatnia strona Delty) kontynuujemy temat skojarzeń w grafach. Są z nim związane dwa ważne twierdzenia: Tutte’a i Halla. Ich uzasadnienia są bardzo pouczające, a ponieważ nie udałoby mi się ich zmieścić na ostatniej stronie, przedstawiam je w niniejszym artykule, Kącikowi pozostawiając same zadania z rozwiązaniami.

Przed przystąpieniem do lektury zachęcamy Czytelnika do zapoznania się z Kącikiem Początkującego Olimpijczyka nr 68 i 69 w Δ248Δ249. Są tam wszystkie niezbędne definicje.

Zaczniemy od podstawowego narzędzia. Niech M będzie skojarzeniem w grafie G. Ścieżkę nazywamy naprzemienną dla skojarzenia M, jeśli ma krawędzie na zmianę nienależące i należące do M.

Lemat o ścieżce naprzemiennej. Jeśli istnieje ścieżka naprzemienna łącząca pewne dwa wierzchołki grafu G nienależące do skojarzenia M, to skojarzenie M nie jest największe.

Dowód: Niech P będzie opisaną w lemacie ścieżką naprzemienną. Ze skojarzenia M usuńmy te krawędzie, które należą do P i zamiast tego dołączmy te krawędzie P, które nie były wcześniej w M. W ten sposób otrzymujemy podgraf M, który ma o jedną krawędź więcej niż M.

image   image

Ścieżka P została podświetlona na żółto. Na rysunku z lewej pogrubione zielone krawędzie należą do M, a z prawej – do M

Ten podgraf jest nadal skojarzeniem, gdyż w wyniku przeprowadzonej powyżej operacji stopnie wierzchołków ab wzrosły z 0 do 1, a pozostałe nie zmieniły się.

Ścieżka opisana w lemacie nazywana jest często ścieżką powiększającą skojarzenie.

Wprowadźmy teraz definicje potrzebne do sformułowania twierdzenia Tutte’a.

Graf nazywamy spójnym, jeśli każde dwa jego wierzchołki połączone są ścieżką. Każdy maksymalny (w sensie relacji bycia podgrafem) podgraf spójny danego grafu nazywamy jego spójną składową. Spójne składowe o parzystej liczbie wierzchołków będziemy nazywać parzystymi, a o nieparzystej – nieparzystymi. Oznaczmy przez O(G) liczbę nieparzystych spójnych składowych grafu G.

Niech G=(V,E) będzie grafem i niech SV. Przez GS rozumiemy graf G z usuniętymi wszystkimi wierzchołkami należącymi do S oraz usuniętymi wszystkimi krawędziami, które mają co najmniej jeden koniec w zbiorze S.

Twierdzenie Tutte’a. Graf G=(V,E) ma skojarzenie pełne wtedy i tylko wtedy, gdy (T)SVO(GS)|S|.

Zbiory S spełniające warunek O(GS)|S| będziemy nazywać dobrymi, a niespełniające go – niedobrymi. Zwróćmy uwagę, że odrzucamy tu S=V (wtedy GS nie jest grafem, choć nawet jeśli dopuścimy graf pusty, to ma on 0 składowych nieparzystych), ale uwzględniony jest zbiór pusty. Dla S= otrzymujemy w warunku (T), że O(G)=0, czyli każda spójna składowa grafu G jest parzysta. Jest to oczywisty warunek konieczny istnienia skojarzenia pełnego.

Dowód (). Zakładamy, że graf G=(V,E) ma skojarzenie pełne. Należy wykazać, że każdy zbiór SV jest dobry. Dla S= już to zrobiliśmy, niech więc |S|1. Każda nieparzysta spójna składowa grafu GS ma przynajmniej jeden wierzchołek, który jest skojarzony z wierzchołkiem spoza niej. Nie może on należeć do innej spójnej składowej, więc musi należeć do zbioru S. Każdej spójnej składowej grafu GS można w ten sposób przypisać pewien wierzchołek ze zbioru S. To przyporządkowanie jest różnowartościowe (bo idzie wzdłuż krawędzi skojarzenia), więc O(GS)|S|.

Dowód (). Teraz zakładamy, że spełniony jest warunek (T). Dla dowodu nie wprost dodatkowo przypuśćmy, że w grafie G nie ma skojarzenia pełnego. Wówczas graf G ma parzystą liczbę wierzchołków (warunek (T) dla S=) i nie jest grafem pełnym.

Niech G=G+e będzie grafem G z dodaną krawędzią e. Graf G nadal spełnia warunek (T), ponieważ dla dowolnego SV zachodzi O(GS)O(GS). Istotnie, krawędź e może łączyć wierzchołki:

  • z których co najmniej jeden należy do S;

  • z tej samej spójnej składowej grafu GS;

  • z różnych parzystych spójnych składowych grafu GS;

  • z parzystej i nieparzystej składowej grafu GS;

  • z różnych nieparzystych spójnych składowych grafu GS.

W pierwszych czterech przypadkach mamy O(GS)=O(GS), a w ostatnim O(GS)=O(GS)2. Możemy zatem przyjąć bez utraty ogólności, że dodanie jakiejkolwiek krawędzi spowoduje zaistnienie skojarzenia pełnego.

Niech U będzie zbiorem wszystkich wierzchołków grafu G o stopniu |V|1, czyli wierzchołków połączonych z każdym innym. Wykażemy, że zbiór U jest niedobry, co będzie poszukiwaną sprzecznością.

Zauważmy najpierw, że nie wszystkie spójne składowe grafu GU są klikami – inaczej graf G miałby skojarzenie pełne.

image

W każdej spójnej składowej można by było dowolnie połączyć w pary wszystkie wierzchołki oprócz najwyżej jednego. Niesparowanych wierzchołków w składowych jest dokładnie O(GU), więc możemy je połączyć z różnymi wierzchołkami ze zbioru U. Pozostałe wierzchołki ze zbioru U dowolnie łączymy w pary.

Teraz wykażemy, że w grafie G istnieje struktura widoczna na rysunku obok (linia przerywana oznacza tu brak sąsiedztwa). Niech S0 będzie spójną składową grafu GU niebędącą kliką. Ma ona zatem dwa wierzchołki xy, które nie są połączone krawędzią. Wierzchołki a, c, b wybieramy jako trzy kolejne na najkrótszej ścieżce łączącej xy. Ponadto cU, więc istnieje wierzchołek dV, z którym c nie jest połączony.

Wobec poczynionych wcześniej założeń, w grafie G+ab znajdziemy pewne skojarzenie pełne M1, a w grafie G+cd – skojarzenie pełne M2. Ponieważ w G nie było skojarzenia pełnego, więc krawędź ab należy do skojarzenia M1,cd – do M2. Skojarzenie M1{a,b} ma o jedną krawędź mniej niż miałoby skojarzenie pełne w grafie G, analogicznie skojarzenie M2{c,d}. Wystarczy zatem znaleźć ścieżkę powiększającą któreś z tych skojarzeń.

Sumą skojarzeń M1M2 jest multigraf H, w którym wszystkie wierzchołki są stopnia 2. Taki multigraf jest sumą parami rozłącznych cykli, być może o długości 2. W każdym takim cyklu krawędzie z M1M2 występują na przemian.

Jeśli krawędzie abcd leżą na rozłącznych cyklach, odpowiednio C1 i C2, to ścieżka C1ab powiększa skojarzenie M1{a,b} w grafie G. Pozostaje przypadek, gdy abcd leżą na jednym cyklu. Możemy przyjąć, że wierzchołki a, b, c, d leżą na tym cyklu w tejże kolejności. image Wówczas ścieżka od c do d powiększa skojarzenie M2{c,d} w grafie G.

Można powiedzieć, że twierdzenie Tutte’a pozwala stwierdzić, czy w danej klasie, w której wiadomo, kto z kim się lubi, możemy usadzić uczniów w ławkach w taki sposób, że każdy siedzi z kimś, kogo lubi. A co, jeśli dodatkowo chcemy, by w każdej ławce siedzieli chłopiec i dziewczynka? Tu wygodnego kryterium dostarcza twierdzenie Halla, które omawiamy poniżej.

Ale najpierw potrzebne definicje. Grafem dwudzielnym o dwupodziale (A,B) nazywamy taki graf, w którym zbiór wierzchołków jest sumą rozłącznych zbiorów AB, ponadto każda krawędź ma jeden koniec w A, a drugi w B. Mówimy, że skojarzenie M nasyca zbiór A, jeśli każdy wierzchołek ze zbioru A należy do M.

Niech G=(V,E) będzie grafem i niech UV. Sąsiedztwem zbioru U nazywamy zbiór tych wierzchołków spoza U, które mają co najmniej jednego sąsiada w U. Oznaczamy je przez NG(U). Jeśli jest oczywiste, o jaki graf chodzi, to można pisać po prostu N(U).

Twierdzenie Halla. Graf dwudzielny G o dwupodziale (A,B) ma skojarzenie nasycające zbiór A wtedy i tylko wtedy, gdy (H)SA|NG(S)||S|. Dowód (). Załóżmy, że graf ma skojarzenie M nasycające zbiór A. Niech S=s1,s2,,smA będzie dowolny. Przez siB oznaczmy unikalnego sąsiada wierzchołka si w skojarzeniu M. image Wówczas s1,s2,,smN(S) są różne, więc |N(S)|m=|S|.

Dowód (). Niech M będzie największym skojarzeniem w grafie G. Przypuśćmy, że skojarzenie M nie nasyca zbioru A. Udowodnimy, że warunek (H) nie jest wtedy spełniony.

Na mocy przypuszczenia nie wprost, pewien wierzchołek aA nie należy do skojarzenia M. Rozważmy wszystkie wierzchołki grafu G połączone z wierzchołkiem a za pomocą ścieżek naprzemiennych dla skojarzenia M. Niech S oznacza tę część spośród wspomnianych wierzchołków, która należy do zbioru A, razem z wierzchołkiem a, natomiast T – tę część, która jest w zbiorze B. image Każda ścieżka naprzemienna rozpoczęta w wierzchołku a i zakończona w wierzchołku należącym do T może być kontynuowana – w przeciwnym razie otrzymalibyśmy ścieżkę powiększającą skojarzenie M. W takim razie z każdym wierzchołkiem tT możemy związać wierzchołek sS, który pojawia się bezpośrednio po t na pewnej ścieżce naprzemiennej, startującej z a. Wierzchołek s jest wyznaczony jednoznacznie, gdyż krawędź ts należy do skojarzenia M (a w skojarzeniu nie mogą pojawić się krawędzie tsts dla ss). Dokładnie tak samo uzasadniamy, że różnym wierzchołkom z T odpowiadają różne wierzchołki z S, i że są one różne od a. Dowodzimy w ten sposób, że |S|>|T|.

Jest jasne, że TN(S). Wykażemy, że zachodzi tu równość. Niech wN(S) – wtedy ma on sąsiada sS, więc albo s=a (i wtedy wT), albo istnieje ścieżka naprzemienna P o kolejnych wierzchołkach a,,t,s. Krawędź ts należy do skojarzenia M, więc krawędź sw nie może do niego należeć. Wobec tego ścieżka o kolejnych wierzchołkach a,,t,s,w jest naprzemienna i w konsekwencji wT.

Wobec powyższych rozważań |S|>|T|=|N(S)| i warunek (H) nie jest spełniony, co kończy dowód.

Przykłady zastosowań oraz zadania Czytelnik znajdzie na ostatniej stronie niniejszego numeru Delty.